iT邦幫忙

2021 iThome 鐵人賽

DAY 4
0

TiDB目前最新發布的版本是5.2,主要的特色有下列幾項。

  1. 使用MySQL5.7的協議以及相關工具
    一樣用mysql -uroot -p就能登入,另外一些常用的外部介面工具如phpmyadmin等也都能兼容。
  2. 支援前面提到的ACID。
  3. 採cluster架構,各種server負責各項功能,分工精細(燒錢.....)。

https://ithelp.ithome.com.tw/upload/images/20210830/20113220C0c2f0W4ds.jpg

而TiDB的架構主要是從下面三種server組成。

  1. TiDB:主要負責client端的連結,並且對接收到的SQL語法做解析,最後再將TiKV回傳的查詢結果組合回覆給使用者。
  2. TiKV:負責儲存數據資料,採分散式的架構,資料會以key-value的型態儲存。
  3. PD:負責每個TiKV node的資料分布狀態,可以說是整個DB的中樞神經。TiKV會定時回傳資料分布的數據以及目前使用的空間大小,PD會依據這些回傳的數據,將資料平均分配在各台TiKV中。
  4. TiFlash:與TiKV相同,也是用來儲存數據資料,不同的地方在於資料是採column base儲存。

簡單地描述一下整個資料查詢的流程:使用者發出實踐MySQL protocol的SQL語法給TiDB,TiDB收到後將語法做分析與優化,然後去問PD服務這些request的資料存在哪些TiKV,將語法丟給TiKV做運算,得出結果後再回傳給TiDB然後回覆給使用者。

接下來會依序介紹每個server是怎麼達到這些功能。


上一篇
Day 3 - HTAP
下一篇
Day 5 - TiDB架構
系列文
TiDB學習筆記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言